PostgreSQL TOAST_MAX_CHUNK_SIZE

此参数大小定义在 pg_control.h 和 `

... ...
uint32     toast_max_chunk_size;  /* chunk size in TOAST tables */
... ...

heaptoast.h 代码文件中。

...  ... 
#define EXTERN_TUPLES_PER_PAGE  4  /* tweak only this */  
  
#define EXTERN_TUPLE_MAX_SIZE   MaximumBytesPerTuple(EXTERN_TUPLES_PER_PAGE)  
  
#define TOAST_MAX_CHUNK_SIZE    \  
    (EXTERN_TUPLE_MAX_SIZE -                     \  
     MAXALIGN(SizeofHeapTupleHeader) -             \  
     sizeof(Oid) -                            \  
     sizeof(int32) -                           \  
     VARHDRSZ)
... ... 

从以上代码中得出 TOAST_MAX_CHUNK_SIZE 默认为 2K 大小。如果想要更改此值,则需要使用 initdb